<?php namespace Common\Model;
use Hdphp\Model\Model;
class Brand extends Model{
	//指定表
	protected $table="brand";
	//自动验证
	protected $validate=array(
		array('bname','required','品牌名称不能为空',3,3)
	);
	//自动完成
	protected $auto=array(
		array('logo','getThumb','method',3,3)
	);
	//缩略图
	public function getThumb(){
		//接收编辑页面隐藏域的旧图片的值
		$oldImg=Q('post.logo');
		//如果没有上传图片，返回空。
		if($_FILES['logo']['error']==4){
			//如果有旧图片，说明是编辑，返回图片地址
			if($oldImg){
				return $oldImg;
			}
			return '';
		}
		//限制上传类型
		$files=Upload::type('jpg,jpeg,png,gif')->size(2000000)->make();
		//如果上传成功，返回地址
		if($files){
			//如果用户在编辑和添加的时候有图片上传
			//如果oldImg有图片。说明是编辑，要删除旧图
			if($oldImg){
				//删除旧图及旧图缩略图
				unlink($oldImg);
				$path=str_replace('_thumb', '', $oldImg);
				unlink($path);
			}
			//缩略图
			//处理缩略的文件名
			$newPath=str_ireplace('.'.$files[0]['ext'], '_thumb.'.$files[0]['ext'], $files[0]['path']);
			//缩略，返回地址
			$thumbPath=Image::thumb($files[0]['path'],$newPath,70,30,1);
			return $thumbPath;
		}
		//如果上传失败，把错误类型压入当前模型的错误属性中，这样外部控制器可以用getError调用
		$this->error=Upload::getError();
		
	}
	//添加品牌
	public function store(){
		if(!$this->check()) return FALSE;
		$this->add();
		return TRUE;
	}
	//编辑
	public function edit(){
		if(!$this->check()) return FALSE;
		$this->save();
		return TRUE;
	}
	//验证
	public function check(){
		//用creata方法进行自动验证：$this->data中有数据，触发自动验证自动完成
		if(!$this->create()) return FALSE;
		//判断$this->error有错误信息，则上传失败
		if($this->error) return FALSE;
		return TRUE;
	}
}
 ?>